package cn.tedu.ivos.base.security;

import lombok.Data;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import java.util.Set;

@Data
public class CustomUserDetails implements UserDetails {
    private Long userId;
    private String username;
    private String password;
    private Set<? extends GrantedAuthority> authorities;
    /**
     * 判断用户的账户是否未过期。
     * @return 总是返回true，表示账户永不过期。
     */
    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    /**
     * 判断用户的账户是否未被锁定。
     * @return 总是返回true，表示账户永不被锁定。
     */
    @Override
    public boolean isAccountNonLocked() {
        return true;
    }
    /**
     * 判断用户的凭证（密码）是否未过期。
     * @return 总是返回true，表示凭证永不过期。
     */
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }
    /**
     * 判断用户是否被启用。
     * @return 总是返回true，表示用户总是启用状态。
     */
    @Override
    public boolean isEnabled() {
        return true;
    }
}
